package com.para.esc.web.common;//package com.para.esc.web.common;
//
//import java.awt.BasicStroke;
//import java.awt.Graphics;
//import java.awt.Graphics2D;
//import java.awt.Image;
//import java.awt.Shape;
//import java.awt.geom.RoundRectangle2D;
//import java.awt.image.BufferedImage;
//import java.io.File;
//import java.io.IOException;
//import java.net.MalformedURLException;
//import java.net.URL;
//
//import java.util.HashMap;
//import java.util.Map;
//
//
//import javax.imageio.ImageIO;
//
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//
//import com.google.zxing.BarcodeFormat;
//import com.google.zxing.EncodeHintType;
//import com.google.zxing.MultiFormatWriter;
//import com.google.zxing.WriterException;
//import com.google.zxing.common.BitMatrix;
//import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
//
//
//public class QRCodeImgUtils {
//	private static final int BLACK = 0xFF000000;
//    private static final int WHITE = 0xFFFFFFFF;
//    
//    
//    /**
//     * 参数准备
//     * @param imageContent 内容
//     * @param width 宽度
//     * @param height 高度
//     * @param logoFlag 是否插入中心图标
//     * @param imgPath 中心图标路径
//     * @return
//     */
//    public static BufferedImage buildQR(String imageContent){
//    	/*String contextRealPath = request.getSession().getServletContext().getRealPath("/");*/
//    	//String imgPath  = contextRealPath+"image\\favicon.ico";
//    	String imgPath  = "http://127.0.0.1/demo/image/meipai4.jpg";
//    	int width = 300; // 图像宽度
//    	int height = 300; // 图像高度
//    	Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>();
//        hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
//        hints.put(EncodeHintType.MARGIN, 1); 
//        hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
//    	BitMatrix bitMatrix=null;
//		try {
//			bitMatrix = new MultiFormatWriter().encode(imageContent, BarcodeFormat.QR_CODE, width, height, hints);
//		} catch (WriterException e) {
//			e.printStackTrace();
//		}
//        BufferedImage image = toBufferedImage(bitMatrix,imgPath);
//        return image;
//    }
//    
//    /**
//	 * 生成矩阵
//	 * @param matrix
//	 * @param insertFlag 是否插入中心图标
//	 * @param imgPath 图标路径
//	 * @return
//	 */
//	public static BufferedImage toBufferedImage(BitMatrix matrix,String imgPath) {
//        int width = matrix.getWidth();
//        int height = matrix.getHeight();
//        BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
//        for (int x = 0; x < width; x++) {
//            for (int y = 0; y < height; y++) {
//                image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE);
//            }
//        }
//       
//        // 插入图片  
//        boolean needCompress = true;//需要压缩
//        try {
//			insertImage(image, imgPath, needCompress);
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
//        return image;
//    }
//	
//	/** 
//     * 插入LOGO 
//     *  
//     * @param source 
//     *            二维码图片 
//     * @param imgPath 
//     *            LOGO图片地址 
//     * @param needCompress 
//     *            是否压缩 
//     * @throws Exception 
//     */  
//    public static void insertImage(BufferedImage source, String imgPath,  
//            boolean needCompress){  
//    	 //new一个URL对象  
//    	URL url=null;
//        Image src=null ;
//		try {
//			url = new URL(imgPath);
//			
//			src= (Image)ImageIO.read(url);  
//		} catch (MalformedURLException e) {
//			e.printStackTrace();
//		} catch (IOException e) {
//			e.printStackTrace();
//		}  
//		int width = src.getWidth(null);  
//        int height = src.getHeight(null);  
//
//        if (needCompress) { // 压缩LOGO  
//            if (width > 60) {  
//                width = 60;  
//            }  
//            if (height > 60) {  
//                height = 60;  
//            }  
//            Image image = src.getScaledInstance(width, height,  
//                    Image.SCALE_SMOOTH);  
//            BufferedImage tag = new BufferedImage(width, height,  
//                    BufferedImage.TYPE_INT_RGB);  
//            Graphics g = tag.getGraphics();  
//            g.drawImage(image, 0, 0, null); // 绘制缩小后的图  
//            g.dispose();  
//            src = image;  
//        }  
//        // 插入LOGO  
//        Graphics2D graph = source.createGraphics();  
//        int x = (300 - width) / 2;  
//        int y = (300 - height) / 2;  
//        graph.drawImage(src, x, y, width, height, null);  
//        Shape shape = new RoundRectangle2D.Float(x, y, width, width, 6, 6);  
//        graph.setStroke(new BasicStroke(3f));  
//        graph.draw(shape);  
//        graph.dispose();  
//    } 
//
//
//}
